package com.lq.educationsystem.socre.service;


import com.lq.educationsystem.common.util.Result;
import com.lq.educationsystem.common.util.ResultPage;
import com.lq.educationsystem.common.vo.ScorePageVo;
import com.lq.educationsystem.common.vo.SubjectStudentScoreVo;
import com.lq.educationsystem.socre.entiy.ScoreTb;

import java.util.List;

public interface ScoreBaseService {

    void insertInfo(ScoreTb scoreInofo);

    void deleteById(Integer scoreId);

    void updateInfo(ScoreTb scoreInofo);

    Result queryById(Integer scoreInofo);

    ResultPage<ScoreTb> queryList(ScorePageVo scorePageVo);

    /**
     * 通过课程id和学生id查询分数id
     * @param subjectIdList
     * @param studentId
     * @return
     */
    ResultPage<ScoreTb> queryStudentScoreBySubjectIdAndStudentId(List<Integer> subjectIdList, Integer studentId);

    /**
     * //通过学生id集合和课程id查询当前科目内所有学生的分数
     * @param studentIdInfoList
     * @param subjectId
     * @return
     */
    ResultPage<ScoreTb> querySubjectStudentScoreByStudentId(List<Integer> studentIdInfoList, Integer subjectId);


    Result<ScoreTb> addSubjectStudentScoreByStudentIdAndSubjectId(List<Integer> studentIdInfoList, Integer subjectId);

    /**
     * 更新学生数据
     * @param subjectStudentScoreVo
     * @return
     */
    Result updateStudentScoreByStudentIdAndSubjectId(SubjectStudentScoreVo subjectStudentScoreVo);
}
